v1.2接入stripe 支付需求描述

 

 

一、支付规则

 所有区域详情(报告)邮编需要购买购买获取固定时间访问权限 3 个月

 有效更新时间段内随时查看最新数据区域详情(报告)分析所有邮编访问区域详情(报告)都是最新版数据

  超过有效期则不能继续查看区域详情(报告)内容也不可以可以查看历史版本区域详情(报告)

 有效期规则:按照解锁当日+指定时间自然日 23:59:59过期

  1.28 解锁有效期 90 90 23:59:59不包括解锁当天

 这里自然日 local time

2.1 功能清单

RR v1.2支付流程功能清单

Snapshot快照页

1.  界面交互

2.  功能点描述

 用户搜索展示快照需要根据用户是否登录/是否购买区域详情(报告)情况展示对应情况已下用户对应情况说明

a.  未登录用户非登录态需要登录

b.  登录购买次数用户登录&当前查看区域详情(报告)邮编作为区分购买也没有可用次数

c.  已登录,未购买次数:用户已登录&当前所查看的区域详情(报告)(以邮编作为区分)未购买还有之前购买次数可以直接兑换一份区域详情(报告)

d.  已登录购买有效用户登录&用户已经购买当前邮编所属区域详情(报告)包括使用免费额度兑换&支付购买

e.  已登录,已购买但未在有效更新期内:用户登录&用户购买过当前邮编所属区域详情(报告)(包括使用免费额度兑换&支付购买),但当前时间已不在有效更新期内——需要重新购买

 快照根据用户情况模块交互处理

模块

未登录

已登录,解锁还有解锁次数

已登录,解锁解锁次数

已登录,已经购买有效期

已登录,已购买但未在有效更新期内

快照标题右侧按钮

按钮文字Sign up to view full insights

 

交互点击前往登录/注册

Unlock full insights (1 unlock)

 

备用:Get Full Access Use 1 Unlock

按钮文字:Get Full Area Insights

备用:Buy full access /Get full Access

交互:点击后打开购买弹窗

 

View Full Area Insights

Renew access

Get Full Access

view detail模块

交互:点击后前往登录/注册

交互:点击后打开解锁二次确认弹窗

 

交互:点击后打开购买弹窗

交互:点击后区域详情(报告)

根据是否剩余次数判断

CAT 按钮下方中间主按钮

按钮Sign up to view full insights

交互点击后前往登录/注册

Get Full Access Use 1 Unlock

 

按钮文字:Get Full Access

交互:点击后打开购买弹窗

 

按钮文字View Full Area Insights

交互点击后打开区域详情(报告)

Get Full Access

  以上所有跳转按钮将首先检查用户是否已登录(同已有的 snapshot 一致)

  如果未登录,它们将触发登录流程。登录继续完成上一个操作不需要用户重复操作点击购买登录登录登录成功已经进入支付流程不需要再次点击支付按钮

 如果已登录,则 参考以上交互说明进入后续的支付/解锁流程具体可见第三部分

 完成支付/解锁后,点击进入区域详情(报告)页时,同步检查该邮编是否已有完整区域详情(报告),以及该区域详情(报告)内所有维度的数据是否符合时效性要求,触发相关区域详情(报告)生成流程。

 有效期内,通过 snapshot 页以及支付流程中前往区域详情(报告)页都是最新的数据内容本;若不在有效,通过 snapshot 页需要再次购买才能进入邮编详情页

  增加 Sample 入口,点击后打开对应的样本区域详情页

 样本固定展示提示内容Sample insights are current as of 1 January 2026. To access the latest insights and real-time updates, please unlock your access.

  移除限时免费标签

 收藏功能 Save

 用户进入快照需要展示当前邮编区域收藏状态

 点击 Save for later当前用户登录进入登录流程登录成功完成收藏

 已经登录点击 Save for later, 收藏成功弹出 toast 提示

 点击 My Areas可以打开对应页面

 收藏成功变成已收藏状态

 需要进入快照展示区分已收藏/未收藏状态

三、  获取/购买区域详情(报告)流程

 有剩余次数,优先用剩余次数解锁

 无有效的剩余次数,再进入购买流程

 首次不再免费,提供了 sample area insights 可供查看

 解锁区域详情过期同样按照以上逻辑进行校验判断

1.  购买区域详情(报告)流程

 用户未登录,先走登录流程

 用户登录后检测用户是否购买购买点击操作按钮打开定价页 Pricing👇

定价页 Pricing

1. 用户故事 (User Story)

 作为一个正在看房的购房者,我想要选择最符合我搜索范围的付费套餐,以便于获取特定区域(邮编)的深度分析区域详情(报告),并享受多购优惠

2. 业务流程/逻辑 (Business Process / Logic)

Code snippet

graph TD
A[输入邮编并点击搜索] --> B{系统检测邮编状态}
B -- 未解锁 --> C[进入套餐选择页]
C --> D[选择套餐: Single/3-Pack/5-Pack]
D --> E[跳转第三方支付网关 Stripe/Apple Pay]
E -- 支付成功 --> F[自动解锁当前搜索邮编]
F --> G[剩余点数记入账户/跳转区域详情(报告)页]
E -- 支付失败 --> H[停留支付页并报错提示]

 

3.  详细规格:页面、交互与规则 (Detailed Specs: UI, Interactions & Rules)

 快照页进入

 [当前解锁提示]: 页面顶部显著位置需加粗显示当前即将解锁的邮编(如:NW1 6XE),增强用户的购买目标感

 仅在用户通过快照页进入定价页后购买展示邮编,若通过top up unlocks 充值余额和价格菜单进入,则不展示邮编,并且不在购买成功后自动解锁对应邮编的 Area Insights

 [套餐卡片交互]: * 高亮逻辑: 默认高亮“3-Postcode Pack”(Most Popular)。鼠标悬停或点击其他卡片时,边框颜色及按钮颜色需产生视觉反馈。

 价值锚点: 每个套餐需计算“单价(Per area)”并展示,同时计算并展示相比单买的省钱百分比(如 Save 33%)。

 [支付按钮]: 点击后应进入加载状态(Loading),防止用户重复点击。

 从菜单或 transactions充值次数入口进入

 检查用户是否登录登录进入登录流程登录成功返回继续支付流程

 用户完成登录按照用户所选套餐进入支付

 规则与异常:

 规则: 套餐为一次性支付(One-time payment),无自动续费。

 异常: 若第三方支付网关回调超时,页面应展示“支付确认中,请勿关闭窗口Verifying Payment...”,并每 3 秒轮询一次支付状态,最多 5 次。

 需要注意不要出现重复支付情况

 选择一个定价模式后进入托管支付页面checkout👇

 页面信息相关配置信息待确认

 支付完成后

 用户通过快照页进入,支付成功后,自动解锁用户关联的邮编并在支付成功跳转对应邮编详情在页面顶部展示 banner 提示;后续再次进入或者点击关闭都不再展示。

 支付回调地址都要加上解锁状态确认中的 loading 状态文案待补充

 如果是直接购买单位区域详情(报告),提示内容:

提示内容

Purchase Successful!

Your full area insights are now unlocked.

 如果购买套餐,提示内容如下点击 My Areas 可进入对应的页面

 x当次购买剩余用于解锁次数

提示内容:

Purchase Successful!

Your full area insights are now unlocked. You have {x} remaining unlocks to use on any other postcode areas. Go to My Areas

 如果是重复购买套餐包,第二次支付因为同一份 Area Insights 重复解锁失败,所以会获得所购买的次数,提示内容如下👇

提示内容:

Purchase Successful!

It looks like this area insights are already unlocked. Don't worry, we didn't use an unlock for this area. The full {3} unlocks from this pack have been saved to your balance for future use. Go to My Areas

 

 点击 My Areas 可进入对应的页面

 x 为当次购买剩余可用于解锁的次数

 若 AI 还在生成中,已有的 AI 生成中提示优先级低于购买成功提示

 用户通过定价页/订单页充值进入,支付成功后进入 transactions 页面刷新充值次数

 支付回调地址都要加上解锁状态确认中的 loading 状态文案待补充

 异常情况中断支付或者返回上一页面需要检测支付状态展示最新支付状态

 拿到支付结果所有跳转按钮置灰不可点击

 拿到支付成功结果快照变成可以前往区域详情(报告)状态已登录&已购买并在页面展示相关 toast提示

 拿到支付取消状态用户在支付托管页面,主动点击了“取消”或“返”链接(未完成支付),或者直接按了浏览器的“返回”按钮。

 toast 提示Purchase Cancelled. You can try again anytime.

  3stoast 提示消失

 用户情况下,可以重新点击按钮重新进入支付流程

 获取支付异常/失败状态用户进行支付但是因为卡被拒绝(例如:余额不足、CVC 错误、银行风控)等原因支付托管页面显示了错误,然后将用户重定向回我们的快照页

 toast 提示:Your payment didn't go through. Please try again or use a different card."

  3s 后toast 提示消失

 用户在此情况下,可以重新点击按钮,重新进入支付流程

 

2.  直接剩余次数解锁流程:

 用户未登录,先走登录流程

 用户登录后,检测用户是否购买,未购买,点击右上角按钮,打开二次确认弹窗👇

 点击弹窗中的“❌” cancel关闭弹窗

 点击“Get Full Access”打开定价页面

 选择一个定价模式后进入 checkout

 点击弹窗中的“❌”和“Cancel”都是关闭弹窗,不扣额度

 点击弹窗中的"Confirm & Unlock”使用该用户 1 unlock,扣减成功后,前往区域详情(报告)页,相关区域详情(报告)数据更新逻辑不变。

 扣减次数需要按照次数有效期进行判断,先过期的先使用

 过期时间一致按照🆔固定顺序解锁

 用户首次通过扣减额度前往区域详情(报告)页,在页面toast提示;后续再次进入或者点击关闭都不再展示。

 点击 My Areas 可进入对应的页面

 x 为账户剩余可用于解锁的次数

Successfully unlocked!

Your full area insights are now unlocked. You have 2 remaining unlocks to use on any other postcode areas. Go to My Areas

 若 AI 还在生成中,已有的 AI 生成成功提示toast 成功优先级低于购买成功/解锁成功

 

四、  My Areas

1.Unlocked

1.  界面交互

2.  用户故事 (User Story)

 作为一个已付费用户,我想要查看并管理所有已解锁的区域区域详情(报告),以便快速获取最新的房产市场见解并在区域详情(报告)过期前及时处理。

 

3.  功能点描述

 右上角 recent 移除换成新增页面My Areas

 点击右上角菜单My Areas"点击进入 My Areas

 页面数据所有 解锁区域详情(报告)收藏区域详情(报告)不包括进入支付但是支付购买区域详情(报告)

 区域详情(报告)进行购买后续产生退款区域详情(报告)列表展示不再展示查看按钮记录情况会在卡片字段说明进行补充说明

 同一个邮编区域详情(报告)因为购买/退款购买更新同一个数据更新状态/信息

 排序可访问状态优先不可访问状态同一状态根据购买/解锁时间倒序展示最新解锁前面

 解锁后过期解锁依然同一条数据但是同步更新解锁时间签名

 区域详情(报告)状态说明

 Active正常状态区域详情(报告)还在有效期内,页面上不展示该状态标签

 区域详情(报告)已过更新有效期:当前时间晚于所购买区域详情(报告)有效更新时间

  AI 分析生成区域详情(报告)里的 AI 分析内容还生成

  AI 生成失败

  区域详情(报告)撤回因为用户退款区域详情(报告)进行撤回用户不可继续查看区域详情(报告)

 列表字段说明

字段名称

描述

图示

邮编postcode

展示区域详情(报告)所对应邮编

邮编位置信息:street、town

区域详情(报告)状态

 正常状态,区域详情(报告)还在有效期内正常访问区域详情(报告)页面上展示状态标签

 区域详情(报告)已过更新有效期:状态展示为:Archived

 AI 分析生成中:状态展示AI Analyzing...

  AI 生成失败状态展示为:AI Failed ❗

  区域详情(报告) 因为 退款被撤回:状态展示为:Refunded

操作按钮-Unlock New Updates

区域详情(报告)解锁过但是已经不可访问展示按钮

点击进入购买区域详情(报告)流程需要根据实际状态判定哪个流程

 

卡片操作- View Area Insights

 点击标题或空白区域 等同于点击View Area Insights

 Active正常状态区域详情(报告)已过更新有效期:当前时间晚于所购买区域详情(报告)的有效更新时间 AI 分析生成状态点击区域详情(报告)邮编标题以及卡片空白区域可以查看区域详情(报告)

 退款撤回状态点击标题空白区域点击后弹窗:

 点击”Got it“和"x”关闭弹窗

 弹窗内容Access to this Area Insight was revoked on {28 Oct 2024} following your refund request.

 时间退款成功时间格式采用平台统一格式英国标准格式 DD MMM Y YYY

 日 (Day)格式:DD (双位数字)

 月份 (Month):MMM (英文缩写),全大写

 年份 (Year):YYYY (四位全称)

 时间 local time

 

 

4.  异常&分支流程

 因为退款退回区域详情(报告)查看按钮置灰最终 UI稿为准

 因为退款退回区域详情(报告)后续进行购买同一个邮编更新状态最新状态

 数据加载状态:页面初始化或翻页加载数据时,不使用全屏 Loading,而是在列表区域展示 10 个卡片的骨架屏动画

 数据区域详情(报告)状态:

 下面搜索框点击搜索以及搜索逻辑首页一致

2.Saved

 1. 用户故事 (User Story)

 作为一个潜在买家或投资者,我想要将感兴趣的区域收藏起来,以便在对比研究后决定消耗点数解锁哪些区域。

 2. 业务流程/逻辑 (Business Process / Logic)

 用户搜索区域 -> 点击心型图标 -> 进入 Saved 列表 -> 选择 Unlock full area insights -> 校验 Credit -> 解锁成功 -> 移动至 Unlocked 列表。

 3. 详细规格:页面、交互与规则

 页面与交互:

 心型收藏图标:点击可取消保存,卡片从列表中移除。

 点击后出现提示,提示 5s 后消失

 点击提示中的 Undo 可以撤销“取消收藏”

 点击标题或空白区域卡片

 已解锁等同于点击“view Area Insights

 未解锁的点击后前往快照页

 列表字段参考 Unlocked

 操作按钮

 解锁 unlocked 一致

 解锁点击进入对应解锁/购买流程判断逻辑快照一致

 空数据状态

统一规则与逻辑 (Global Rules & Logic)

 搜索说明

 实时搜索:监听输入框的 input 或 keyup 事件

 搜索规则:当输入框为空时:显示所有卡片(根据分页规则)。当输入框有值时,根据邮编 postcode进行实时查询,设置 300ms 的防抖时间

 匹配逻辑: 不区分大小写 ,模糊匹配 (Partial Match) 邮编字段。

 根据搜索结果重新计算页数,对搜索词进行高亮展示

 清除搜索:当输入框有内容时,右侧出现 "X" 图标,点击可一键清空并恢复完整列表。

 搜索无结果提示:

 

 2. 全局交互约定:

 标签切换: Unlocked 和 Saved 标签右侧应显示数字(如 Unlocked 3, Saved 2)

 响应式设计: 考虑到房地产经纪人可能在户外使用,卡片布局在移动端应自动切换为单行堆叠显示。

 加载状态: 切换标签页或执行解锁操作时,卡片应显示骨架屏(Skeleton Screen)以减少焦虑。

 

五、  Order History

5.1订单列表页

1.  界面交互

2.  功能点描述

 点击用户头像,出现的下拉弹窗中,增加“Transactions”菜单,点击进入订单

 次数余额说明

 展示当前账户剩余的解锁次数

 next expiry 当然展示为固定文案:

 点击“Top up unlocks”进入如 pricing 产品价格页

 页面数据:所有完成支付订单/解锁 unlock

 分为支付订单 Payments only和解锁订单Unlocks only

 Payments支付金额订单也就是通过 stripe 支付订单

 不包括支付成功的订单包括支付成功后申请退款的订单

  Unlocks通过次数解锁订单无实际支付金额

  Unlocks 包括因为过期扣除的次数

 排序:根据购买/解锁时间倒序展示

 数据加载默认 10/分页加载

 订单状态说明:

 Paid支付正常状态

 Refunded用户申请退款并且处理退款完成

 Processing Refund用户申请退款退款正在处理中

 Refund Declined用户申请退款但是退款申请拒绝

 列表字段说明

字段名称

描述

图示

支付年月日

 日期为用户支付完成的时间显示 local time

 日 (Day)格式:DD (双位数字)

 月份 (Month):MMM (英文缩写),全大写

 年份 (Year):YYYY (四位全称)

icon

 

 icon 根据订单类型固定目前包括 unlock unlock 直接解锁购买套餐包购买单份报告

订单内容/标题

 展示 订单内容当前分析区域详情(报告)+区域详情(报告)所对应的邮编

 对应的应该是 stripe 创建产品的产品名称和补充备注信息

 用unlocks 解锁:Unlocked Area Insights: {Postcode}

 例:Unlocked Area Insights: SW1A 1AA

 例:Analysis Area Insights: SW1A 1AA

 点击标题可以打开订单详情页侧边弹窗

 点击整个卡片操作可以打开订单详情页弹窗

支付时间

 用户支付完成的具体时间格式 hh:mm

 需要显示 local time

订单编号

 显示当前订单对应订单编号

  实际产生支付订单展示

订单状态

展示实际订单状态

 Paid:已支付,正常状态

 Refunded:用户申请了退款,并且处理退款完成

订单金额

 统一货币单位英镑进行展示符号为 £

 展示用户实际支付金额

 千分位分隔符规则展示金额: 使用逗号 作为千分位,点 (Dot) 作为小数点。

 显示到小数点后两位

 如果发生退款订单金额展示不变

 实际支付订单展示订单金额通过 unlock 解锁不展示金额

Unlocks

 展示当次交易获得/消耗解锁报告次数

 购买套餐展示获得次数+x unlocks

 解锁套餐包消耗次数- 1 unlock

 注意 x=1不加 s

操作- Receipt

 订单状态Refunded暂不展示Receipt功能入口其他状态展示

 点击后,系统重新发送一次发票到邮箱,发送成功后 toast 提示:

申请退款 Request Refound

 仅在订单状态为 Paid /Refund Declined且 交易时间 < X天(例如14天)时支持申请退款 Request Refound

 点击打开用户邮箱自动带上当前订单用户账号

 邮件内容

收件人 (To): support@resiradar.com

主题 (Subject):

Refund Request: Order #84923

正文 (Body):

Hi ResiRadar Team,

I would like to request a refund for the following order:

Order Details:

 Order ID: #84923

 Account Email: user@example.com

 Date: 2025-11-18

Reason for Refund: [Please type your reason here. e.g., Accidental purchase, Data issue, etc.]

 

Please do not delete the information above to ensure faster processing.

 

异常情况: 有些用户(尤其是在网吧或通过 Web 访问的用户)电脑上没有安装 Outlook 或 Mail 客户端,点击按钮没反应。

对策: 在按钮旁边或者 Tooltip 里,加一行小字:

 "Nothing happening? Email us at support@resiradar.com with your Order ID."

 

卡片操作

 点击标题或空白区域 等打开订单详情弹窗

 

3.  异常&分支流程

 数据加载状态:页面初始化或翻页加载数据时,不使用全屏 Loading,而是在列表区域展示 10 个订单的骨架屏动画

 空数据(无区域详情(报告))状态:

 

 
5.1订单详情弹窗

全局规则与逻辑 (Global Rules & Logic)

1. 格式化规范:

 货币显示: 英镑符号前置 (£1.99),保留两位小数。若金额为0,显示 £0.00 或 £0(视具体场景)。

 数显示: 使用特定单位词(如 1 unlock),不加货币符号。

 日期时间: 统一采用截图中的英式格式 DD Mon YYYY at HH:mm (例如:20 Sept 2024 at 09:15)。

2. 数据加载与空状态:

 点击列表项时,详情侧边栏/弹窗应从右侧滑入或在当前层级浮现。

 加载过程中,详情区域显示骨架屏(Skeleton Screen),保持布局稳定性。

3. 状态定义 (Order Status):列表一致

 可以用于展示订单相关信息

 模态抽屉 (Modal Drawer) 按 ESC 键、或(右上角的 × 关闭按钮关闭弹窗

4.字段说明👇

字段名称

描述

图示

图标

icon类型列表

订单号 (Order ID)

 显示当前订单对应的订单编号

 规则列表一致

订单状态

 显示当前订单对应的订单状态

 规则与列表一致

支付时间 (Timestamp)

 显示当前订单对应的支付时间 精确到分钟

 格式:Placed on: DD MMM YYYY at HH:mm (e.g., 20 Sept 2024 at 09:15)。

 需要显示 local time

Property Information 产品信息

订单内容/标题

 icon 根据购买类型固定

 展示订单内容

 Payments:对应产品名称+描述

 Unlocks当前为分析区域详情(报告)+区域详情(报告)所对应的邮编

 内容文案待定

 例:Analysis Area Insights: SW1A 1AA

 如果是通过多次套餐,那么这里的内容需要显示多个(打包套餐+次数解锁)

 支付金额信息展示实际金额

 消耗/获得次数信息展示实际消耗/获得次数信息列表一致

View Area Insights

 若当前的商品是解锁 Area Insights,需要展示View Area Insights按钮

 点击按钮默认查看最新版本的区域详情(报告)

 因为退款而退回的区域详情(报告),查看按钮置灰,点击后弹窗:

 点击”Got it“和"x”关闭弹窗

 

Payment Information支付信息

支付方式

 通过 stripe 支付

 包括支付品牌+ending id {卡号 4尾号}

 品牌"visa" / "mastercard"

 e.g.,Visa ending in 4242

 品牌替换 Card

 过 unlocks 次数解锁

 展示 paid with unlocks

支付金额

 

 通过 stripe 支付

 包括产品金额税额总计

 Subtotal

  VAT(20%)

 优惠金额需要前面-展示

  Total总金额用户实际支付金额

 统一以货币单位:英镑进行展示,符号为 £

 统一展示规则:

 用千分位分隔符规则展示金额: 使用逗号 作为千分位,点 (Dot) 作为小数点。

 显示到小数点后两位

 如果发生退款,订单金额展示不变

 通过 unlocks 次数解锁

 包括消耗次数、税额、及总计

 Subtotal1 unlock

  VAT(20%)0

  Total总金额为用户实际支付的金额

 如果发生退款,消耗 unlock展示不变

交易单号

  支付订单展示从 Strip 获取的交易单号

 通过 unlocks 次数解锁不展示

Billing Address账单地址

姓名

用户支付填写姓名

地址

用户支付时填写的账单地址

如用户使用次数解锁,则隐藏此模块

Refund Information退款信息通过 stripe 支付)

退款说明

根据不同退款状态展示不同退款说明文案

 Refunded:A refund of {£19.99} was issued on {18 Nov 2025} to your {Visa ending in 4242}. Please allow 5–10 business days for the funds to appear on your statement, depending on your bank.

  {£19.99} :退款金额

  {18 Nov 2025}退款成功时间

  {Visa ending in 4242}退款退后银行卡信息

 Processing Refund:Refund is being processed. It may take 5-10 business days to appear in your account.

 Refund Declined:Request declined as the Area Insights was accessed. Per policy, downloaded content is non-refundable.

 

Refund Date退款日期

 提交退款申请的时间

 格式采用平台统一格式英国标准格式 DD MMM YYYY

 日 (Day)格式:DD (双位数字)

 月份 (Month):MMM (英文缩写),全大写

 年份 (Year):YYYY (四位全称)

 需要显示 local time

Refunded to

退款到

  {Visa ending in 4242}:退款退后的银行卡信息

Refund Amount退款金额

 提交退款申请的金额

 统一以货币单位:英镑进行展示,符号为 £

 统一展示规则:

Unlocks Deducted

退回次数

 因为退款扣除的次数

Reason退款原因

 提交退款申请选择原因

Refund Information退款信息通过 unlocks 次数解锁)

退款说明

根据不同的退款状态展示不同的退款说明文案

 Refunded:A refund of {x} unlock was issued on 18 Nov 2025 to your unlocks balance. Access to {SW1A 1AA} Area has been revoked and the report is now locked.

  {x} :退回的次数,一般为 1 次 1 unlock

  {18 Nov 2025}:退款成功时间

 {SW1A 1AA} :当前的邮编

Refund Date退款日期

 提交退款申请的时间

 格式采用平台统一格式英国标准格式 DD MMM YYYY

 日 (Day)格式:DD (双位数字)

 月份 (Month):MMM (英文缩写),全大写

 年份 (Year):YYYY (四位全称)

需要显示 local time

Unlocks Returned

因为退款返回的次数,一般就是 1 次 1 unlock

Reason退款原因

提交退款申请时选选择的原因

Footer Actions底部操作区

客服入口

 Questions about this order? [Email us at hello@Arealyst.com]"

 交互:点击链接唤起邮件客户端。

 自动填写主题行"Issue with Order #84923"。 订单编号

操作-Invoice

 订单状态为:Refunded,暂不展示发票功能入口,其他状态均展示

 点击后,系统重新发送一次发票到邮箱,发送成功后 toast 提示:

 交互列表一致

申请退款 Request Refound

 仅在订单状态为 Paid /Refund Declined且 交易时间 < X天(例如14天)时支持申请退款 否则不展示入口Request Refound

 点击后打开用户的邮箱,自动带上当前订单号,用户账号

 邮件内容:

收件人 (To): support@resiradar.com

主题 (Subject):

Refund Request: Order #84923

正文 (Body):

Hi ResiRadar Team,

I would like to request a refund for the following order:

Order Details:

 Order ID: #84923

 Account Email: user@example.com

 Date: 2025-11-18

Reason for Refund: [Please type your reason here. e.g., Accidental purchase, Data issue, etc.]

 

Please do not delete the information above to ensure faster processing.

 

异常情况: 有些用户(尤其是在网吧或通过 Web 访问的用户)电脑上没有安装 Outlook 或 Mail 客户端,点击按钮没反应。

对策: 在按钮旁边或者 Tooltip 里,加一行小字:

 "Nothing happening? Email us at support@resiradar.com with your Order ID."

 

5.3退款

1.  退款流程

2.  功能点描述

 当前版本退款通过人工手动 stripe后台发起退次数通过 RR 手动操作

 需要退款成功订单同步已退款状态订单状态并且退款订单撤回区域详情(报告)访问包括购买次数

 同样用户通过 unlock 解锁需要我们操作退款并在页面展示退款状态

 手动操作需要能:

1、把 stripe 的退款信息同步到订单中扣除的次数同步出来

默认扣除订单剩余使用次数即可

2、把 unlock取消的状态同步到订单中

六、  Area Insights Page区域详情

 移除页面右上角 Analysis Date替换 最后更新时间Last update: 15/01/2024

 时间展示最近一次更新时间展示格式报告时间一致

报告异常情况处理:

邮编详情页的URL调整用户进入区域详情链接需要校验用户是否具有访问权包括过期情况具有自动触发并打开当前邮编的快照展示 toast 提示原因

首次访问平台

Welcome to Arealyst. You’re exploring a free snapshot of [Postcode].

访问平台购买当前区域访问

You haven't unlocked full access for [Postcode] yet.

购买当前区域访问权限已过期

Your 90-day access for [Postcode] ended on [DD/MM/YYYY].

将现有的“快照页”内容作为该报告页的“默认展示层”,仅通过快照页或者 My areas 指定页面进入详情页

 

 

七、  Search

搜索历史管理 (Search History Management) - 新增核心]

1. 用户故事 (User Story)

 作为一个频繁对比不同区域的用户,我想要快速访问之前搜索过的位置,以便于节省重复输入的时间并追踪我的研究进度。

2. 业务流程/逻辑 (Business Process / Logic)

 记录产生: 用户点击建议列表中的某一项并成功跳转快照页后,该位置被计入“搜索历史”。

 展示逻辑: 当用户点击(Focus)空的输入框时,在下方以时间倒序展示最近的搜索项。

 删除逻辑: 用户点击单条历史后的删除图标 -> 实时移除该记录。

3. 详细规格:页面、交互与规则 (Detailed Specs: UI, Interactions & Rules)

 页面与交互:

 [历史项图标]: 每条历史记录左侧配有“时钟/逆时针箭头”图标(如图中所示),以区分实时建议。

 [删除触发]: 历史项最右侧设有 (X) 按钮。悬停(Hover)时高亮,点击即删除。

 [区分显示]: 如果有输入的话改为展示搜索结果若有与搜索记录匹配的邮编,则置顶展示

 文案修改Get your first full area area insights — Free,去掉后面的“— Free

 规则与异常:

 规则 1(存储量): [假设] 前端 LocalStorage 或后端数据库仅保留最近 10 条搜索历史。

 规则 2(去重): 重复搜索同一地点时,该地点在历史列表中移动至最顶部,不产生重复条目。

 规则 3(登录同步): [假设] 未登录状态下记录保存在浏览器缓存;登录后应同步至账号维度,实现多端一致。